//导入定义验证规则的包
const joi = require('joi')

// 定义用户名和密码的验证规则
// const username = joi.string().alphanum().min(1).max(10).required()
const phone = joi.string().pattern
(/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/).required()
const password = joi.string().pattern(/^[\S]{6,12}$/).required()
// 定义id,nickname,email的验证规则
const id = joi.number().integer().min(1).required()
const nickname = joi.string().required()
const email = joi.string().email().required()
// 定义 头像avatar 的验证规则
// const avatar =joi.string().dataUri().required()


//向外暴露 定义验证注册和登陆表单数据的规则对象
exports.reg_login_schema = {
    body: {
        phone,
        password
    }
}
//向外暴露 定义验证注册手机号数据的规则对象
exports.reg_phone_schema = {
    body: {
        phone,
    }
}

//向外暴露 更新用户信息数据的验证规则对象
exports.update_userinfo_schema = {
    body: {
        id,             //id:id
        nickname,       //nickname:nickname
        email,          //email:email
    }
}

//向外暴露 重置密码的验证规则对象
exports.update_password_schema = {
    body: {
        // 验证旧密码,用上面已有的密码验证规则
        oldPwd:password,
        // 验证新密码,除了用已有的密码验证规则,还要与旧密码不同
        newPwd:joi.not(joi.ref('oldPwd')).concat(password)
    }
}

